//
//  FileUtil.h
//  QiUtils
//
//  Created by dac_1033 on 2018/10/25.
//  Copyright © 2018年 QiShare. All rights reserved.
//
// 类的创建者: 宋鸿康
// 类的描述说明: 文件操作的类
// 注释添加者：宋鸿康，注释有可能不是很对

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface YsToolsManagerFileUtil : NSObject

/**
 获取沙盒根路径

 @return 返回路径
 */
+ (NSString *)getHomePath;

/**
 获取tmp路径

 @return 返回路径
 */
+ (NSString *)getTmpPath;

/**
 获取Documents路径

 @return 返回路径
 */
+ (NSString *)getDocumentsPath;

/**
 获取Library路径

 @return 返回路径
 */
+ (NSString *)getLibraryPath;

/**
 获取LibraryCache路径

 @return 返回路径
 */
+ (NSString *)getLibraryCachePath;


/**
 检查文件、文件夹是否存在

 @param path 文件路径
 @param isDir 文件夹
 @return 执行结果
 */
+ (BOOL)fileExistsAtPath:(NSString *)path
             isDirectory:(BOOL *)isDir;

/**
 创建文件

 @param path 文件路径
 */
+ (void)createDirectory:(NSString *)path;

/**
 创建文件

 @param filePath 文件路径
 @param fileName 文件夹名字
 @return 路径
 */
+ (NSString *)createFile:(NSString *)filePath fileName:(NSString *)fileName;

/**
 复制 文件or文件夹

 @param srcPath 原路径
 @param dstPath 复制到
 */
+ (void)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath;

/**
 移动 文件or文件夹

 @param srcPath 原路径
 @param dstPath 移动路径
 */
+ (void)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath;

/**
 删除 文件or文件夹

 @param path 路径
 */
+ (void)removeItemAtPath:(NSString *)path;


/**
 获取目录下所有内容

 @param docPath 路径
 @return 文件夹下的内容
 */
+ (NSArray *)getContentsOfDirectoryAtPath:(NSString *)docPath;


/**
 获取文件的大小

 @param path 文件路径
 @return 文件大小
 */
+ (long long)fileSizeAtPath:(NSString *)path;

/**
 得到最大的切片数

 @param data 二进制
 @return 文件
 */
+ (int)getMaxBlockCountWithPath:(NSString *)path;


/**
 读取文件的内容

 @param filePath 文件地址
 @return 二进制
 */
+ (NSData *)readDataWithfilePath:(NSString *)filePath;

@end

NS_ASSUME_NONNULL_END
